Estoy buscando una manera de poder reemplazar el método de desplazamiento predeterminado para dispositivos móviles de un sitio web.
Intenté implementar este código, pero se activa cada vez que hay un solo deslizamiento (que también contiene el desplazamiento a div y, por lo tanto, se activa una y otra vez).
¡Gracias por cualquier ayuda!
var timer = null; window.addEventListener('scroll', function() { if(timer !== null) { clearTimeout(timer); } timer = setTimeout(function() { // do something }, 150); }, false); var lastScrollTop = 0; $(window).scroll(function(event){ var st = $(this).scrollTop(); if (st > lastScrollTop){ // downscroll code console.log('down') var $target = $(".archive-blog-posts-wrapper.active").prev(".archive-blog-posts-wrapper"); if ($target.length == 0) $target = $(".archive-blog-posts-wrapper:first"); $("html, body").animate( { scrollTop: $target.offset().top, }, "slow" ); $(".active").removeClass("active"); $target.addClass("active"); } else { // upscroll code console.log('up') var $target = $(".archive-blog-posts-wrapper.active").next(".archive-blog-posts-wrapper"); if ($target.length == 0) $target = $(".archive-blog-posts-wrapper:first"); $("html, body").animate( { scrollTop: $target.offset().top, }, "slow" ); $(".active").removeClass("active"); $target.addClass("active"); } lastScrollTop = st; });